package cn.wuxun.sponsor.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.jt.common.pojo.Sponsor;
import com.jt.common.vo.EasyUIResult;
import com.jt.common.vo.SysResult;


import cn.wuxun.sponsor.service.SponsorService;
/**
 * 功能：实现对赞助商的增、删、查(包括分页查询、查询所有赞助商信息、单个赞助商查询)、改
 * @author Tedu
 *
 */
@RestController
@RequestMapping("sponsor")
public class SponsorController {
	@Autowired
	private SponsorService sponsorService;
	
	
	/**
	 * 功能：添加赞助商
	 * 请求方式：post
	 * @param  Sponsor sponsor
	 * @return SysResult 
	 * 			返回值结构为：Integer status： 200表示成功,其他表示失败； 
	 * 			String msg;成功返回 “ok”,失败返回其他信息；
	 * 			Object data;根据需求携带其他数据
	 */
	@RequestMapping("addSponsor")
	public SysResult addSponsor(Sponsor sponsor){
		//用异常来表示成功失败，成功调用SysResult.ok()  失败调用SysResult.build(status, msg, data)
		try {
			sponsorService.addSponsor(sponsor);
			return SysResult.ok();  
		} catch (Exception e) {
			e.printStackTrace();
			return SysResult.build(201, e.getMessage(), null);
			
		}	
	}
	
	
	/**
	 * 功能：修改赞助商信息
	 * 请求方式：post
	 * @param Sponsor sponsor
	 * @return SysResult 
	 * 		返回值结构为：Integer status： 200表示成功,其他表示失败；
	 * 				  String msg;成功返回 “ok”,失败返回其他信息；
	 * 				  Object data;根据需求携带其他数据
	 */
	
	@RequestMapping("updateSponsor")
	public SysResult updateSponsor(Sponsor sponsor){
		////用异常来表示成功失败，成功调用SysResult.ok()  失败调用SysResult.build(status, msg, data)
		try {
			sponsorService.updateSponsor(sponsor);
			return SysResult.ok();
		} catch (Exception e) {
			e.printStackTrace();
			return SysResult.build(201, e.getMessage(), null);
		}
	}
	
	/**
	 * 功能：根据sid查询单个赞助商的信息
	 * 请求方式：get
	 * @param sid
	 * @return Sponsor sponsor
	 */
	@RequestMapping("querySponsor")
	public Sponsor querySponsorByID( String sid){
		Sponsor sponsor=sponsorService.querySponsorById(sid);
		return sponsor;
		
	}
	
	
	/**
	 * 功能：删除赞助商
	 * 请求方式：get
	 * @param sid
	 * @return SysResult
	 * 			返回值结构为：Integer status： 200表示成功,其他表示失败；
	 * 					 String msg;成功返回 “ok”,失败返回其他信息；
	 * 				     Object data;根据需求携带其他数据
	 */
	@RequestMapping("delSponsor")
	public SysResult delSponsor(String sid){
		//用异常来表示成功失败，成功调用SysResult.ok()  失败调用SysResult.build(status, msg, data)
		try {
			sponsorService.delSponsor(sid);
			return SysResult.ok();
		} catch (Exception e) {
			e.printStackTrace();
			return SysResult.build(201, e.getMessage(), null);
		}
	}
	
	/**
	 * 功能：分页查询
	 * 请求方式：get
	 * @param page :需要查询的页数
	 * @param rows ：每页显示的行数
	 * @return EasyUIResult
	 * 			返回值结构为：Integer total 查询数据总数量
	 * 					  List<?> rows  分页查询的list结果
	 * 					 
	 */
	@RequestMapping("querySponsorByPage")
	public EasyUIResult querySponsorByPage(Integer page,Integer rows){
		EasyUIResult result=sponsorService.querySponsorByPage(page,rows);
		
		return result;
	}
	
	
	/**
	 * 功能：查询所有赞助商
	 * 请求方式：get
	 * @return List<Sponsor>
	 */
	@RequestMapping("queryAllSponsor")
	public List<Sponsor> queryALLSponsor(){
		List<Sponsor>sponsorList=sponsorService.queryALLSponsor();
		return sponsorList;
	}
	
	
}	
